A high-level look at trends in catches of Tyee salmon in Campbell River’s legendary Tyee Pool. All data exploration is being completed for fun and to learn some new tools (namely R Markdown and plotly).
There are far more technical ways of examining this data, but they aren’t as much fun - and are frankly hard. This analysis is living and will evolve over time. All results and interpretation are purely speculative.
This analysis uses the following publicly available data:
This is certainly an interesting dataset, but it has its limitations. For example, there is no information on effort (# boats per day) and biological data is limited (e.g. size, girth and age of tyees or number of undersized fish captured).
There has been a lot of information collected on Campbell River Chinook Salmon, including Tyee Salmon captured in the Tyee Pool, however, most of this data is not readily available. Data that is available (and that I have found) is summarized below.
1) Spawn Timing
2) Age Class Structure
Sturham et al. 1999 suggests that a roughly equal proportion of spawners return to the Campbell River as age-4 and age-5 fish (Table 1 and Table 2).
However, Ewart & Anderson,2013 report that the 2012 return was comprised of ~2% Age-3, ~37% Age 4 and 61% Age-5 fish.
3) Size-at-Age
4) Fecundity
5) Juvenile Life History
6) Estimated Juvenile Production
7) Estimates of Marine Survival
8) Hatchery Influence and Population Status
| Waterbody | Age | n | % of Total | Size Range (mm) |
Mean Lenght (mm) |
|---|---|---|---|---|---|
| Campbell River | 3 | 6 | 7.9 | 500 - 699 | 595.0 |
| Campbell River | 4 | 34 | 44.7 | 550 - 949 | 779.5 |
| Campbell River | 5 | 35 | 46.1 | 700 - 949 | 842.5 |
| Campbell River | 6 | 1 | 1.3 | 900 - 949 | 930.0 |
| Quinsam Hatchery | 3 | 76 | 20.2 | 400 - 749 | 619.5 |
| Quinsam Hatchery | 4 | 225 | 59.8 | 550 - 899 | 743.5 |
| Quinsam Hatchery | 5 | 73 | 19.4 | 700 - 949 | 834.0 |
| Quinsam Hatchery | 6 | 2 | 0.5 | 750 - 849 | 784.0 |
| Quinsam River | 3 | 46 | 22.8 | 500 - 849 | 663.0 |
| Quinsam River | 4 | 114 | 56.4 | 550 - 949 | 733.5 |
| Quinsam River | 5 | 40 | 19.8 | 700 - 949 | 818.0 |
| Quinsam River | 6 | 2 | 1.0 | 800 - 849 | 838.0 |
1) They are decreasing in size and age at maturity
2) Survival rates have collapsed and returns are decreasing
3) Enhancement levels have never been higher
4) I am not the only person who doesn’t understand what is going on
So, let’s begin by having a look at the catch data from the Tyee pool and how catches fluctuate relative to Chinook Salmon escapement in the Campbell River.
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
## [1] "Year" "tyee_cycle4" "Total.Catch"
## [4] "Overall.Mean.Catch" "Escapement" "Data.Type"
## gropd_df [20 × 6] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Year : num [1:20] 2002 2003 2004 2005 2006 ...
## $ tyee_cycle4 : num [1:20] 1 2 3 4 1 2 3 4 1 2 ...
## $ Total.Catch : num [1:20] 90 15 59 45 64 21 29 57 55 23 ...
## $ Overall.Mean.Catch: num [1:20] 33.5 33.5 33.5 33.5 33.5 ...
## $ Escapement : num [1:20] 50.2 22.7 48 20.7 56.9 ...
## $ Data.Type : chr [1:20] "Escapement" "Escapement" "Escapement" "Escapement" ...
## - attr(*, "groups")= tibble [20 × 2] (S3: tbl_df/tbl/data.frame)
## ..$ Year : num [1:20] 2002 2003 2004 2005 2006 ...
## ..$ .rows: list<int> [1:20]
## .. ..$ : int 1
## .. ..$ : int 2
## .. ..$ : int 3
## .. ..$ : int 4
## .. ..$ : int 5
## .. ..$ : int 6
## .. ..$ : int 7
## .. ..$ : int 8
## .. ..$ : int 9
## .. ..$ : int 10
## .. ..$ : int 11
## .. ..$ : int 12
## .. ..$ : int 13
## .. ..$ : int 14
## .. ..$ : int 15
## .. ..$ : int 16
## .. ..$ : int 17
## .. ..$ : int 18
## .. ..$ : int 19
## .. ..$ : int 20
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
## Year tyee_cycle4 Total.Catch Overall.Mean.Catch
## Min. :2002 Min. :1.00 Min. : 9.0 Min. :33.52
## 1st Qu.:2007 1st Qu.:1.75 1st Qu.:15.0 1st Qu.:33.52
## Median :2012 Median :2.50 Median :30.0 Median :33.52
## Mean :2012 Mean :2.50 Mean :34.9 Mean :33.52
## 3rd Qu.:2016 3rd Qu.:3.25 3rd Qu.:49.0 3rd Qu.:33.52
## Max. :2021 Max. :4.00 Max. :90.0 Max. :33.52
## Escapement Data.Type
## Min. :14.12 Length:20
## 1st Qu.:26.12 Class :character
## Median :31.10 Mode :character
## Mean :37.52
## 3rd Qu.:48.09
## Max. :72.16
Figure 1: Trends in Tyee Salmon captures and Campbell River Chinook Salmon escapement.
A quick look at Tyee catches (blue vertical bars) in Figure 1 shows:
If we look at Escapement data (blue line) shown in Figure 1 , we can see:
At it’s most basic level, there are four things that are likely affecting catches of Tyee salmon (in reality, there are many many many many many more.
3.1.1. Juvenile recruitment
3.1.2. Marine survival and productivity
3.1.3. Fishing effort and catchability
3.1.4. Fishing Conditions * No question that fewer fish will be captured during seasons with poor fishing conditions (e.g. very windy, lots of rain). It is also possible that fish behaviour will change in response to river conditions. Certainly there was a lot of speculation that low catches in 2022 were due to high water levels (as evidenced by lowest catch on record while many very large fish were being captured in the river).
Well, we could look at everything, but we won’t do that because I am lazy. According to my pea brain, there are two ways we can approach this:
1.) We can look at what factors influenced how many fish were available for capture in the Tyee pool (i.e. how historic conditions may have contributed to observed captures), and/or; 2.) We can look at what factors influenced how returning fish were captured (i.e. conditions during the fishing season)
We can VERY CRUDELY estimate the number of Tyee salmon that should return to the Campbell River if we make a couple of big assumptions:
Fecundity is ~5,700 eggs per female (Ewart & Anderson, 2013
Sex ratios are 60:40 female to male (Sturham et al. 1999. on Sturham data for Campbell River)
Egg to fry survival is approximately 0.003 (estimated from Thronton et al. 2022).
Tyee Salmon are over 900 mm. In the Campbell River, I will assume that 10% of Age-4 male adults, 15% of Age-5 spawners (both sexes), and all Age-6 fish are >900 mm and therefore >30 lbs (this is very loosely based on Sturham data, but I have not seen raw tables so its an guestimate).
Using these numbers we can assume that 60% of a given years fish will be female and spawn successfully. Each one will lay ~5,700 eggs, of which 0.3% will survive to spawn. Of the 0.3% of eggs that survive to spawn, 44.7% will return as Age-4 (15% will be Tyees), 46.1% will return as Age-5 (35% will be Tyees) and 1.3% will return as Age-6 fish (85% will be Tyees).
If we run these numbers, each female will generate 17.1 offspring, of which 7.6 will be Age-4, 7.9 will be Age-5 and 0.22 will be Age-6 - of which 3.4 will be Tyee salmon.
But this doesn’t make sense, if each female produced 17.1 offspring escapement would be increasing rapidly. And it most certainly is not. So, what gives?
Figure 2: Comparison of catches of Tyee Salmon, predicted returns of Tyee Salmon and annual Chinook Salmon escapement counts.
Well this is interesting!
A couple of things to keep in mind when trying to understand what this means.
So, what happened in 2014!? Did runs crash everywhere? Let’s have a look at escapement in other systems in the area.
Figure 3: Chinook Salmon escapement from rivers on East and West Coast of Vancouver Island.
Well, that figure sucks. But it shows that escapement in most major east coast Vancouver Island streams remained steady, or even increased in 2014. On the West Coast, there was a major crash in the Bedwell, but all other systems showed a negligible change.
Last year there was a lot of speculation that high flows in the Campbell River may have caused fish to move directly into the river rather than staging in the pool. Let’s look at flow in the Campbell River to see how 2022 flows compared to previous years.
Figure 4: Catches of Tyee Salmon since 2016 relative to flow in the Campebll River.
Well, it’s clear that flows in 2022 were higher than past years and higher than mean flows over the past 5-years. But this doesn’t mean that is why fewer fish were captured. Either way let’s take a closer look at the correlation between flow and capture.
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
Figure 5: Relationship between river flow and fish capture
Figure 5 shows a strong negative relationship between discharge and the number of fish that are captured. This is what you would expect, that fish will hold in the pool while flows are low and that they will move into the river when flows are higher and they can safely navigate upstream. However, the fishery occurs during the late summer, when flows are typically low and it is possible that the timing of the fishery has contributed to observed trends.
OK, well there is a relationship (that could be due to a number of things). Lets have a look at some of the older data.
Figure 6: Catches of Tyee Salmon since 2007 relative to flow in the Campebll River.
Let’s look at commercial catches. Maybe there is a fishery that could be intercepting a large number of Tyees.
can.catch <- comm.catch %>% rename(Catch.Type = 'Catch Type',
Data.Type = 'Data Type') %>%
mutate(Area = as.factor(Area),
Species = as.factor(Species),
Year = as.numeric(Year),
Catch.Type = as.factor(Catch.Type)) %>%
filter(Country == "Canada",
Year >= 1997,
Data.Type == "Number (000's)")
can.catch.cn <- can.catch %>% filter(Species == "Chinook",
Area == "Whole country")
CN.catch.plot <- ggplot(can.catch.cn) +
geom_line(aes(x = Year, y = Total.Catch, color = Catch.Type)) +
labs(x = "Year", y = "Total Catch (0000's of fish") +
theme_bw()
CN.catch.plot
can.catch.cn2 <- can.catch %>% filter(Species == "Chinook",
Catch.Type == "Sport")
summary(can.catch.cn2)
## Country Whole Country/Province/State
## Length:125 Length:125
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## Area Species Catch.Type
## Haida Gwaii :25 Chinook:125 Commercial : 0
## North Coast :25 Cherry : 0 Sport :125
## South Coast :25 Chum : 0 Subsistence: 0
## West Coast Vancouver Island:25 Coho : 0
## Whole country :25 Pink : 0
## Amur River Basin : 0 Sockeye: 0
## (Other) : 0 (Other): 0
## Data.Type Year Total.Catch
## Length:125 Min. :1997 Min. : 0.00
## Class :character 1st Qu.:2003 1st Qu.: 25.80
## Mode :character Median :2009 Median : 54.00
## Mean :2009 Mean : 77.34
## 3rd Qu.:2015 3rd Qu.: 92.49
## Max. :2021 Max. :306.68
##
CN.catch.plot2 <- ggplot(can.catch.cn2) +
geom_line(aes(x = Year, y = Total.Catch, color = Area)) +
labs(x = "Year", y = "Total Catch (0000's of fish") +
theme_bw()
CN.catch.plot2
can.catch.sk <- can.catch %>% filter(Species == "Sockeye")
colnames
## function (x, do.NULL = TRUE, prefix = "col")
## {
## if (is.data.frame(x) && do.NULL)
## return(names(x))
## dn <- dimnames(x)
## if (!is.null(dn[[2L]]))
## dn[[2L]]
## else {
## nc <- NCOL(x)
## if (do.NULL)
## NULL
## else if (nc > 0L)
## paste0(prefix, seq_len(nc))
## else character()
## }
## }
## <bytecode: 0x000001ea8bb760e0>
## <environment: namespace:base>
summary(can.catch.cn2)
## Country Whole Country/Province/State
## Length:125 Length:125
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
## Area Species Catch.Type
## Haida Gwaii :25 Chinook:125 Commercial : 0
## North Coast :25 Cherry : 0 Sport :125
## South Coast :25 Chum : 0 Subsistence: 0
## West Coast Vancouver Island:25 Coho : 0
## Whole country :25 Pink : 0
## Amur River Basin : 0 Sockeye: 0
## (Other) : 0 (Other): 0
## Data.Type Year Total.Catch
## Length:125 Min. :1997 Min. : 0.00
## Class :character 1st Qu.:2003 1st Qu.: 25.80
## Mode :character Median :2009 Median : 54.00
## Mean :2009 Mean : 77.34
## 3rd Qu.:2015 3rd Qu.: 92.49
## Max. :2021 Max. :306.68
##
CN.catch.plot
sk.catch.plot <- ggplot(can.catch.sk) +
geom_line(aes(x = Year, y = Total.Catch, color = Species, linetype = Catch.Type))
sk.catch.plot
###Notes Plot peak flows 4 to 5 years previous (e.g. impact of peak flows on recruitment). - Assume mortality at >200 cms - spawning habitat lost at 300-400 cms - Is Quinsam flow regulated? Ask Mary.
Is return age genetic? Or environmental?
| Waterbody | Sex | Age | n | % of Total (by Sex) |
% of Total (by Stream) |
Size Range (mm) |
Mean Lenght (mm) |
Std. Error |
|---|---|---|---|---|---|---|---|---|
| Campbell River | F | 3 | 0 | 0.00 | 0.00 | 500 - 699 | 595 | 20.82 |
| Campbell River | M | 3 | 6 | 0.19 | 0.08 | 500 - 699 | 595 | 20.82 |
| Campbell River | F | 4 | 21 | 0.48 | 0.28 | 700 - 899 | 783 | 10.69 |
| Campbell River | M | 4 | 13 | 0.41 | 0.17 | 550 - 949 | 776 | 23.30 |
| Campbell River | F | 5 | 23 | 0.52 | 0.30 | 750 - 949 | 839 | 7.51 |
| Campbell River | M | 5 | 12 | 0.38 | 0.16 | 700 - 949 | 846 | 14.43 |
| Campbell River | F | 6 | 0 | 0.00 | 0.00 | 900 - 949 | 930 | 0.00 |
| Campbell River | M | 6 | 1 | 0.03 | 0.01 | 900 - 949 | 930 | 0.00 |
| Quinsam Hatchery | F | 3 | 9 | 0.04 | 0.02 | 550 - 749 | 644 | 15.33 |
| Quinsam Hatchery | M | 3 | 67 | 0.38 | 0.18 | 400 - 749 | 595 | 6.84 |
| Quinsam Hatchery | F | 4 | 130 | 0.65 | 0.35 | 600 - 899 | 742 | 3.77 |
| Quinsam Hatchery | M | 4 | 95 | 0.54 | 0.25 | 550 - 899 | 745 | 5.64 |
| Quinsam Hatchery | F | 5 | 61 | 0.30 | 0.16 | 700 - 949 | 823 | 5.76 |
| Quinsam Hatchery | M | 5 | 12 | 0.07 | 0.03 | 750 - 949 | 845 | 13.57 |
| Quinsam Hatchery | F | 6 | 1 | 0.00 | 0.00 | 800 - 849 | 812 | 0.00 |
| Quinsam Hatchery | M | 6 | 1 | 0.01 | 0.00 | 750 - 799 | 756 | 0.00 |
| Quinsam River | F | 3 | 1 | 0.01 | 0.00 | 700 - 749 | 700 | 0.00 |
| Quinsam River | M | 3 | 45 | 0.41 | 0.22 | 500 - 849 | 626 | 12.07 |
| Quinsam River | F | 4 | 58 | 0.63 | 0.29 | 650 - 849 | 744 | 4.73 |
| Quinsam River | M | 4 | 56 | 0.51 | 0.28 | 550 - 949 | 723 | 9.35 |
| Quinsam River | F | 5 | 31 | 0.34 | 0.15 | 700 - 949 | 830 | 7.54 |
| Quinsam River | M | 5 | 9 | 0.08 | 0.04 | 700 - 949 | 806 | 21.00 |
| Quinsam River | F | 6 | 2 | 0.02 | 0.01 | 800 - 849 | 838 | 2.83 |
| Quinsam River | M | 6 | 0 | 0.00 | 0.00 | 800 - 849 | 838 | 2.83 |